package com.inspinia.upms.dao;

import com.inspinia.base.dao.BaseDao;
import com.inspinia.upms.common.model.resource.UpmsResource;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * Created by Veblen on 2017/1/1.
 */
public interface UpmsResourcesDao extends BaseDao<UpmsResource> {

    /**
     * 查找岗位对应的资源id集合
     *
     * @param postIds 岗位id集合
     * @return 资源id集合
     */
    List<Long> findResourceIdsByPostIds(@Param("postIds") List<Long> postIds);

    List<UpmsResource> findAll();

    int countByName(@Param("resourceName") String resourceName, @Param("id") Long resourceId, @Param("pid") Long pid);

    Integer findMaxSeq(Long pid);

    /**
     * 根据id获取父类id
     * @param id
     * @return
     */

    Long findDistUpmsResource(Long id);

    /**
     * 查找角色的所有菜单
     * @param roleIds 角色id
     * @return
     */
    List<UpmsResource> findMenusByRole(@Param("roleIds") List<Long> roleIds);

    /**
     * 修改状态
     * @param bean
     * @return
     */
    int updateStatus(UpmsResource bean);

    /**
     * 查找子类id
     * @param id
     * @return
     */
     List<Long> findChildrenUpmsResource(Long id);

     /**
     * 查找角色对应的资源id集合
     *
     * @param roleIds 角色id集合
     * @return 资源id集合
     */
    List<Long> findResourceIdsByRoleIds(@Param("roleIds") List<Long> roleIds);

}
